package com.dcy.znoa.service.attendance;

import com.dcy.znoa.common.exception.BusinessException;
import com.dcy.znoa.common.util.pojo.JsonForList;
import com.dcy.znoa.controller.attendance.model.attRealRecord.*;
import com.dcy.znoa.domain.sys.Role;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

public interface AttRealRecordService {
    //定时任务：每天轮一次数据库，如果某人 上班/下班 没有记录，那么就加一条记录( AttRealRecord 和  AttRecord 都要)，缺勤

    List selectList() throws InvocationTargetException, IllegalAccessException;

    Integer insert(Role role);

    Integer updateById(Role role);

    List queryReasonList(SelectAbnormalARRModel model);

    List queryList(SelectARRModel model) throws InvocationTargetException, IllegalAccessException;

    List queryGroup(SelectAbnormalARRModel model);

    List queryTimesByAttTypeAndOper(SelectTimebyAttTypeModel model) throws BusinessException;

    List queryTimesByApplyTypeAndOper(SelectTimebyApplyTypeModel model) throws BusinessException;

//    List queryOpersByType(SelectAbnormalARRModel model);

    List queryOpersByAttType(QueryOpersByAttTypeModel model) throws BusinessException;

    List queryOpersByApplyType(QueryOpersByApplyTypeModel model) throws BusinessException;

    JsonForList queryAttAndApplyGroup(QueryAttAndApplyModel model);

    JsonForList queryAttDetailAllDay(QueryAttAndApplyModel model);

    List queryOneDayApply(String dateStr,Long operId);
}
